#ifndef IMAGEPROCESSORMODULE_H
#define IMAGEPROCESSORMODULE_H
#include <QImage>
#include <ImageProcessorConfigPanel.h>
#include <ImageProcessorController.h>
#include <ImageProcessor.h>
class ImageProcessorModule
{
protected:
    ImageProcessorConfigPanel * ConfigPanelInitializer;
    ImageProcessorController * Controller;
    ImageProcessor * Processor;
    ImageProcessorModule();
public:
    virtual void setupComponents() = 0;
    virtual ~ImageProcessorModule() {}
    void initialize();
    void populatePanel(QFrame * panel);
    QImage process(QImage image);
};

#endif // IMAGEPROCESSORMODULE_H
